#ifndef FILTERDVIEW_H
#define FILTERVIEW_H

#include <QtGui/QDialog>
#include <correlationfilter.h>
#include <distancefilter.h>
#include <deviationfromexpectfilter.h>
#include <QDockWidget>

namespace Ui {
    class FilterView;
}

class FilterView : public QWidget {
    Q_OBJECT
    Q_DISABLE_COPY(FilterView)

private slots:
	//void on_filterChanged(LinkFilter*);
	void oncorrModeIndexChanged(int);
	void ondistModeIndexChanged(int);
	void ondevModeIndexChanged(int);

	void oncorrAboveValueChanged(double);
	void oncorrBelowValueChanged(double);
	void ondistAboveValueChanged(double);
	void ondistBelowValueChanged(double);
	void ondeviationValueChanged(double);

public:

    explicit FilterView(QWidget *parent = 0);
    virtual ~FilterView();

	void setNetwork(FunctionalNetwork *net);

private:
    void updateView();
	void showCorrBetweenRow(bool show);
	void showDistBetweenRow(bool show);

	void setMinimumCorrelation(double min);
	void setMaximumCorrelation(double min);

	void setMinimumDistance(double min);
	void setMaximumDistance(double min);

    Ui::FilterView *m_ui;
	CorrelationFilter *corrFilter;
	DistanceFilter *distFilter;
	DeviationFromExpectedFilter *expFilter;
	FunctionalNetwork *network;


public slots:
	void on_matrixChanged();
};

#endif // FILTERDOCKWIDGET_H
